Skip to main content

SMTP (Port 25)

Connect

Telnet

Kết nối tới máy chủ SMTP qua Telnet trên cổng 25 để tương tác trực tiếp:

telnet <ip> 25

Enumeration

Liệt kê bản ghi MX

Sử dụng dig để tìm các máy chủ email (MX servers) của một miền:

dig +short mx <ip>

Liệt kê người dùng

Sử dụng smtp-user-enum để kiểm tra sự tồn tại của người dùng qua phương thức VRFY:

smtp-user-enum -M VRFY -U /usr/share/wordlists/metasploit/unix_users.txt -t <ip>

Với nhiều máy chủ:

for server in $(cat smtpmachines);
do echo "*****" $server "******";
smtp-user-enum -M VRFY -U userlist.txt -t $server;
done

Attack Vectors

Khai thác Open Relay

Kiểm tra cấu hình Open Relay để gửi email tới bất kỳ địa chỉ nào:

telnet <ip> 25
MAIL FROM:<test@example.com>
RCPT TO:<test2@anotherexample.com>
DATA
Subject: Test open relay
Test message
.
QUIT

Post-Exploitation

Các câu SMTP thông dụng

CommandDescriptionUsage
HELOXác định the client to the server.HELO example.com
EHLOExtended HELLO.EHLO example.com
MAIL FROM:Chỉ định địa chỉ email của người gửiMAIL FROM: <sender@example.com>
RCPT TO:Chỉ định địa chỉ email của người nhậnRCPT TO: <recipient@example.com>
DATACho biết sự bắt đầu của phần thân thưDATA
RSETThiết lập lại phiên làm việcRSET
NOOPKhông hoạt động; dùng để testNOOP
QUITKết thúc phiên làm việcQUIT
VRFYKiểm tra xem user có tồn tại hay khôngVRFY <USER>
EXPNKiểm tra user có thuộc danh sách gửi thư khôngEXPN <USER>